SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

CREATE PROCEDURE [dbo].[pje_porActuacionesEnConciertosORecitales] @idInscripcion integer,@puntaje float output ,@resultado float output  AS
set nocount on
declare  @idAgente as int,@CargoGenerico as int,@AsignaturaGenerica as int, @idTipoConvocatoria as int ,@fechaLimite as datetime
declare @topeActuaciones as  float
declare @sum as float
DECLARE @Error INT

BEGIN TRANSACTION
             SET @ERROR=0

select @topeActuaciones =(select valor from tb_topetiposantecedentes where rubro=11and TipoAntecedente =81 ) -- leo el  tope por becas

select  @idAgente=i.Agente,@cargoGenerico = i.CargoGenerico,@AsignaturaGenerica=i.AsignaturaGenerica,@idtipoConvocatoria=Conv.TipoConvocatoria,@FechaLimite=Conv.FechaLimite
	from 
	tb_inscripcionesConvocatorias i 
		join tb_Convocatorias conv on i.Convocatoria=conv.idConvocatoria 
	where i.idInscripcionConvocatoria=@idInscripcion




	select 
		 @puntaje= isnull (sum(PuntajeParaIncumbencias),0)  --puntaje 
	from tb_antecedentes a 
		join tb_tiposAntecedentes t on a.tipo=t.idtipoantecedente 
		join tb_gruposDeIncumbencias G on G.idGrupoIncumbencia=a.GrupoIncumbencias
	--	join tb_reluniongsgu R on r.idgrupounion = G.idGrupoIncumbencia
		join tb_incumbencias h on g.idGrupoINCUMBENCIA=h.grupoIncumbencia
    	         where a.rubro=11 and agente=@idagente and h.CargoGenerico=@Cargogenerico and h.AsignaturaGenerica=@AsignaturaGenerica and a.FechaPresentacion <= @FechaLimite --sumo todos los artículos que tiene el agente

		SET @Error = @@ERROR 
		IF @Error <> 0 GOTO Salir



	if  @puntaje > @topeActuaciones set @puntaje = @topeActuaciones 

print @puntaje
print @resultado

Salir:
IF @Error <> 0 
	ROLLBACK TRANSACTION
ELSE 
	COMMIT TRANSACTION
GO
GRANT EXECUTE ON  [dbo].[pje_porActuacionesEnConciertosORecitales] TO [Juntas]
GO
